home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / VIG-SL20.ZIP / SLOGON.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-07-01  |  10KB  |  565 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Integer  INTEGER001
  24.     Integer  INTEGER002
  25.     Integer  INTEGER003
  26.     Integer  INTEGER004
  27.     Integer  INTEGER005
  28.     Integer  INTEGER006
  29.     Integer  INTEGER007
  30.     Integer  INTEGER008
  31.     Integer  INTEGER009
  32.     Integer  INTEGER010
  33.     Integer  INTEGER011
  34.     Integer  TINTEGER012(1)
  35.     String   TSTRING001(1,2)
  36.     String   TSTRING002(26,2)
  37.     String   TSTRING003(31)
  38.     String   STRING004
  39.     String   STRING005
  40.     String   STRING006
  41.     String   STRING007
  42.     String   STRING008
  43.     String   STRING009
  44.     BigStr   BIGSTR001
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     GetUser
  49.     STRING004 = "@X08Slogon v2.0 by Vigilante [PWA] @X8C<UNREGISTERED>"
  50.     INTEGER004 = Random(Time())
  51.     INTEGER004 = Random(Time())
  52.     INTEGER004 = Random(Time())
  53.     INTEGER004 = 1
  54.     StartDisp 1
  55.     FOpen 1, PPEPath() + "slogon.cnf", 0, 0
  56.     For INTEGER002 = 1 To 31
  57.         FGet 1, TSTRING003(INTEGER002)
  58.     Next
  59.     FClose 1
  60.     TSTRING001(0, 1) = " " + TSTRING003(18) + " "
  61.     TSTRING001(1, 1) = " " + TSTRING003(19) + " "
  62.     STRING006 = Lower(ReadLine(PCBDat(), 2)) + Lower(ReadLine(PCBDat(), 94))
  63.     For INTEGER002 = 1 To Len(STRING006) Step 2
  64.         INTEGER004 = Left(INTEGER004 * Asc(Mid(STRING006, INTEGER002, 1)), 6)
  65.     Next
  66.     For INTEGER002 = 1 To Len(STRING004) Step 2
  67.         INTEGER001 = INTEGER001 + Asc(Mid(STRING004, INTEGER002, 1))
  68.     Next
  69.     If (INTEGER001 <> 1985) End
  70.     If (INTEGER004 == TSTRING003(1)) Then
  71.         BOOLEAN001 = 1
  72.         STRING004 = Left(STRING004, 34)
  73.     Endif
  74.     If (Exist(PPEPath() + "automsg.dat")) Goto LABEL001
  75.     FCreate 1, PPEPath() + "automsg.dat", 1, 0
  76.     FPutLn 1, "None."
  77.     FClose 1
  78.     :LABEL001
  79.     If (Exist(PPEPath() + "callers.dat")) Goto LABEL002
  80.     FCreate 1, PPEPath() + "callers.dat", 1, 0
  81.     FClose 1
  82.     :LABEL002
  83.     If (Exist(PPEPath() + "oneliner.dat")) Goto LABEL003
  84.     FCreate 1, PPEPath() + "oneliner.dat", 1, 0
  85.     FPutLn 1, TSTRING003(22) + STRING004
  86.     FPutLn 1, TSTRING003(23) + " " + Mid(STRING004, 20, 15)
  87.     FClose 1
  88.     :LABEL003
  89.     If (CurSec() >= TSTRING003(2)) Then
  90.         FreshLine
  91.         If (TSTRING003(6) < 0) Then
  92.             Cls
  93.             Goto LABEL004
  94.         Endif
  95.         Newlines TSTRING003(6)
  96.         :LABEL004
  97.         PrintLn STRING004
  98.         If (Lower(TSTRING003(5)) == "no") Delay 18
  99.         If (!BOOLEAN001) Delay 18
  100.         If (Lower(TSTRING003(5)) <> "no") Then
  101.             Print TSTRING003(5)
  102.             If (Lower(Left(TSTRING003(20), 1)) == "y") Then
  103.                 BOOLEAN003 = 1
  104.                 Goto LABEL005
  105.             Endif
  106.             BOOLEAN003 = 0
  107.             :LABEL005
  108.             Gosub LABEL019
  109.             If (BOOLEAN003) BOOLEAN002 = 1
  110.         Endif
  111.         FreshLine
  112.         If (BOOLEAN002) Goto LABEL013
  113.         For INTEGER006 = 1 To Len(TSTRING003(7))
  114.             INTEGER007 = Mid(TSTRING003(7), INTEGER006, 1)
  115.             FreshLine
  116.             If (INTEGER007 == 1) Then
  117.                 If (Lower(Left(TSTRING003(9), 1)) == "r") Then
  118.                     DispFile PPEPath() + "welcome." + String(Random(TSTRING003(8) - 1) + 1), 0
  119.                     Wait
  120.                     Goto LABEL006
  121.                 Endif
  122.                 For INTEGER007 = 1 To TSTRING003(8)
  123.                     DispFile PPEPath() + "welcome." + String(INTEGER007), 0
  124.                     Wait
  125.                 Next
  126.                 :LABEL006
  127.                 Continue
  128.             Endif
  129.             If (INTEGER007 == 2) Then
  130.                 DispFile PPEPath() + "stats." + String(Random(TSTRING003(10) - 1) + 1), 0
  131.                 Wait
  132.                 Continue
  133.             Endif
  134.             If (INTEGER007 == 3) Then
  135.                 If (Exist(PPEPath() + "callers.top")) DispFile PPEPath() + "callers.top", 0
  136.                 If (Exist(PPEPath() + "callers.dat")) DispFile PPEPath() + "callers.dat", 0
  137.                 If (Exist(PPEPath() + "callers.mid")) DispFile PPEPath() + "callers.mid", 0
  138.                 If (Exist(PPEPath() + "callers.sta")) DispFile PPEPath() + "callers.sta", 0
  139.                 If (Exist(PPEPath() + "callers.bot")) DispFile PPEPath() + "callers.bot", 0
  140.                 Wait
  141.                 Continue
  142.             Endif
  143.             If (INTEGER007 == 4) Then
  144.                 DispFile PPEPath() + "automsg.top", 0
  145.                 If (Exist(PPEPath() + "automsg.dat")) DispFile PPEPath() + "automsg.dat", 0
  146.                 DispFile PPEPath() + "automsg.bot", 0
  147.                 Wait
  148.                 Continue
  149.             Endif
  150.             If (INTEGER007 == 5) Then
  151.                 FOpen 1, PPEPath() + "oneliner.dat", 0, 0
  152.                 INTEGER003 = 0
  153.                 :LABEL007
  154.                 If (Ferr(1)) Goto LABEL008
  155.                 Inc INTEGER003
  156.                 FGet 1, TSTRING002(INTEGER003, 0)
  157.                 FGet 1, TSTRING002(INTEGER003, 1)
  158.                 Goto LABEL007
  159.                 :LABEL008
  160.                 Dec INTEGER003
  161.                 FClose 1
  162.                 DispFile PPEPath() + "oneliner.top", 0
  163.                 For INTEGER002 = 1 To INTEGER003
  164.                     PrintLn TSTRING002(INTEGER002, 0)
  165.                     If (CurSec() >= SysopSec()) PrintLn TSTRING002(INTEGER002, 1)
  166.                 Next
  167.                 DispFile PPEPath() + "oneliner.bot", 0
  168.                 Print TSTRING003(25)
  169.                 If (Lower(Left(TSTRING003(31), 1)) == "y") Then
  170.                     BOOLEAN003 = 1
  171.                     Goto LABEL009
  172.                 Endif
  173.                 BOOLEAN003 = 0
  174.                 :LABEL009
  175.                 Gosub LABEL019
  176.                 Newline
  177.                 If (BOOLEAN003) Then
  178.                     If (Exist(PPEPath() + "oneliner.hlp")) DispFile PPEPath() + "oneliner.hlp", 0
  179.                     Print TSTRING003(22)
  180.                     STRING007 = ""
  181.                     INTEGER002 = 0
  182.                     While (STRING007 <> Chr(13)) Do
  183.                         STRING007 = Inkey()
  184.                         If (((Len(STRING007) == 1) && (STRING007 >= " ")) && (INTEGER002 < 75)) Then
  185.                             Print STRING007
  186.                             Inc INTEGER002
  187.                             STRING005 = STRING005 + STRING007
  188.                             If (StripAtx(Right(STRING005, 4)) == "") Then
  189.                                 INTEGER009 = CurColor()
  190.                                 For INTEGER008 = 1 To 4
  191.                                     Print Chr(8) + " " + Chr(8)
  192.                                     Dec INTEGER002
  193.                                 Next
  194.                                 Print Right(STRING005, 4)
  195.                             Endif
  196.                             Continue
  197.                         Endif
  198.                         If ((STRING007 == Chr(8)) && (Len(STRING005) > 0)) Then
  199.                             If (StripAtx(Right(STRING005, 4)) == "") Then
  200.                                 Color INTEGER009
  201.                                 STRING005 = Left(STRING005, Len(STRING005) - 4)
  202.                                 Continue
  203.                             Endif
  204.                             Print Chr(8) + " " + Chr(8)
  205.                             Dec INTEGER002
  206.                             STRING005 = Left(STRING005, Len(STRING005) - 1)
  207.                         Endif
  208.                     EndWhile
  209.                     If (StripAtx(STRING005) <> "") Then
  210.                         FAppend 1, PPEPath() + "oneliner.log", 1, 0
  211.                         FPutLn 1, StripAtx(TSTRING003(22) + STRING005)
  212.                         FPutLn 1, StripAtx(TSTRING003(23) + " " + Mixed(U_Name()))
  213.                         FClose 1
  214.                         Log "■ ONELINER: " + STRING005, 0
  215.                         If (INTEGER003 < TSTRING003(21)) Then
  216.                             INTEGER005 = 1
  217.                             Goto LABEL010
  218.                         Endif
  219.                         INTEGER005 = 2
  220.                         INTEGER003 = TSTRING003(21)
  221.                         :LABEL010
  222.                         If (BOOLEAN001) Goto LABEL011
  223.                         TSTRING002(INTEGER005, 0) = TSTRING003(22) + STRING004
  224.                         TSTRING002(INTEGER005, 1) = TSTRING003(23) + " " + Mid(STRING004, 20, 15)
  225.                         :LABEL011
  226.                         FCreate 1, PPEPath() + "oneliner.dat", 1, 0
  227.                         For INTEGER002 = INTEGER005 To INTEGER003
  228.                             If (TSTRING002(INTEGER002, 0) <> "") FPutLn 1, TSTRING002(INTEGER002, 0)
  229.                             If (TSTRING002(INTEGER002, 1) <> "") FPutLn 1, TSTRING002(INTEGER002, 1)
  230.                         Next
  231.                         FPutLn 1, TSTRING003(22) + STRING005
  232.                         FPutLn 1, TSTRING003(23) + " " + Mixed(U_Name())
  233.                         FClose 1
  234.                         FreshLine
  235.                         PrintLn TSTRING003(26)
  236.                         Goto LABEL012
  237.                     Endif
  238.                     FreshLine
  239.                     PrintLn TSTRING003(27)
  240.                     :LABEL012
  241.                     Wait
  242.                 Endif
  243.                 Continue
  244.             Endif
  245.             If (INTEGER007 == 6) Then
  246.                 If (Exist(Right(TSTRING003(28), Len(TSTRING003(28)) - 1))) Then
  247.                     DispStr TSTRING003(28)
  248.                     Wait
  249.                 Endif
  250.             Endif
  251.         Next
  252.         :LABEL013
  253.         If (!OnLocal() || (Lower(TSTRING003(12)) == "yes")) Then
  254.             If (TSTRING003(3) > 0) Then
  255.                 INTEGER007 = InStr(TSTRING003(4), "@OPTEXT@")
  256.                 TSTRING003(4) = Left(TSTRING003(4), INTEGER007 - 1) + U_Name() + " (" + String(PcbNode()) + ")" + Right(TSTRING003(4), Len(TSTRING003(4)) - INTEGER007 - 7)
  257.                 For INTEGER002 = 1 To TSTRING003(3)
  258.                     If (INTEGER002 <> PcbNode()) Then
  259.                         RdUNet INTEGER002
  260.                         If (InStr(" 0NORTWX", UN_Stat()) == 0) Broadcast INTEGER002, INTEGER002, TSTRING003(4)
  261.                     Endif
  262.                 Next
  263.             Endif
  264.             FOpen 1, PPEPath() + "callers.dat", 0, 0
  265.             INTEGER003 = 0
  266.             :LABEL014
  267.             If (Ferr(1)) Goto LABEL015
  268.             Inc INTEGER003
  269.             FGet 1, TSTRING002(INTEGER003, 2)
  270.             Goto LABEL014
  271.             :LABEL015
  272.             Dec INTEGER003
  273.             FClose 1
  274.             If (INTEGER003 < TSTRING003(11)) Then
  275.                 INTEGER005 = 1
  276.                 Goto LABEL016
  277.             Endif
  278.             INTEGER005 = 2
  279.             INTEGER003 = TSTRING003(11)
  280.             :LABEL016
  281.             Gosub LABEL018
  282.             FCreate 1, PPEPath() + "callers.dat", 1, 0
  283.             For INTEGER002 = INTEGER005 To INTEGER003
  284.                 If (TSTRING002(INTEGER002, 2) <> "") FPutLn 1, TSTRING002(INTEGER002, 2)
  285.             Next
  286.             FPutLn 1, BIGSTR001
  287.             FClose 1
  288.             Goto LABEL017
  289.         Endif
  290.         Gosub LABEL018
  291.     Endif
  292.     :LABEL017
  293.     End
  294.     :LABEL018
  295.     BIGSTR001 = TSTRING003(13)
  296.     FCreate 1, PPEPath() + "callers$." + String(PcbNode()), 1, 0
  297.     STRING008 = Left(TimeAp(Time()), 5) + Lower(Right(TimeAp(Time()), 2))
  298.     BIGSTR001 = ReplaceStr(BIGSTR001, "@LTIME@", STRING008)
  299.     If (OnLocal()) Then
  300.         STRING008 = TSTRING003(14)
  301.     Else
  302.         STRING008 = Right(String(Carrier()), 5)
  303.         STRING008 = Left(STRING008, 2) + "." + Mid(STRING008, 3, 1) + "k"
  304.     Endif
  305.     BIGSTR001 = ReplaceStr(BIGSTR001, "@SPD@", STRING008)
  306.     STRING008 = Right(String(PcbNode()), 3)
  307.     BIGSTR001 = ReplaceStr(BIGSTR001, "@N@", STRING008)
  308.     INTEGER010 = U_Bul()
  309.     INTEGER011 = U_Bdl()
  310.     If (TSTRING003(17) > 9) TSTRING003(17) = 9
  311.     If ((INTEGER010 == 0) && (INTEGER011 == 0)) Then
  312.         STRING009 = " 0:0 "
  313.     Else
  314.         If (INTEGER010 == 0) Inc INTEGER010
  315.         If (INTEGER011 == 0) Inc INTEGER011
  316.         If (INTEGER010 < INTEGER011) Then
  317.             STRING009 = INTEGER011 / INTEGER010
  318.             If (INTEGER011 % INTEGER010 > 0) Inc STRING009
  319.             If (ToInteger(STRING009) > TSTRING003(17)) Then
  320.                 STRING009 = TSTRING003(15)
  321.             Else
  322.                 STRING009 = " 1:" + STRING009 + " "
  323.             Endif
  324.         ElseIf (INTEGER010 > INTEGER011) Then
  325.             STRING009 = INTEGER010 / INTEGER011
  326.             If (INTEGER010 % INTEGER011 > 0) Inc STRING009
  327.             If (ToInteger(STRING009) > TSTRING003(17)) Then
  328.                 STRING009 = TSTRING003(16)
  329.             Else
  330.                 STRING009 = " " + STRING009 + ":1 "
  331.             Endif
  332.         Else
  333.             STRING009 = " 1:1 "
  334.         Endif
  335.     Endif
  336.     STRING008 = STRING009
  337.     BIGSTR001 = ReplaceStr(BIGSTR001, "@U/D@", STRING008)
  338.     STRING008 = "---"
  339.     BIGSTR001 = ReplaceStr(BIGSTR001, "@M@", STRING008)
  340.     STRING008 = "ONLINE"
  341.     BIGSTR001 = ReplaceStr(BIGSTR001, "@ACTS@", STRING008)
  342.     STRING008 = Left(U_Name(), 20)
  343.     BIGSTR001 = ReplaceStr(BIGSTR001, "@USERNAME_OR_HANDLE@", STRING008)
  344.     STRING008 = Left(U_City, 20)
  345.     BIGSTR001 = ReplaceStr(BIGSTR001, "@USERCITY_OR_AFFILS@", STRING008)
  346.     STRING008 = U_Name() + " (" + U_City
  347.     If (Len(STRING008) > 40) Then
  348.         STRING008 = Left(STRING008, 40) + ")"
  349.     Else
  350.         STRING008 = Left(STRING008 + ")", 41)
  351.     Endif
  352.     BIGSTR001 = ReplaceStr(BIGSTR001, "@USERNAME_OR_HANDLE_(USERCITY_OR_AFFILS)@", STRING008)
  353.     FPutLn 1, BIGSTR001
  354.     FPutLn 1, U_Ful()
  355.     FPutLn 1, U_Fdl()
  356.     FPutLn 1, U_MsgRd()
  357.     FPutLn 1, U_MsgWr()
  358.     If (Psa(5)) Then
  359.         FPutLn 1, U_Stat(2)
  360.         FPutLn 1, U_Stat(10) + U_Stat(11) + U_Stat(14) + U_Stat(15)
  361.     Else
  362.         FPutLn 1, "0"
  363.         FPutLn 1, "0"
  364.     Endif
  365.     FPutLn 1, U_Bul()
  366.     FPutLn 1, U_Bdl()
  367.     FClose 1
  368.     Return
  369.     :LABEL019
  370.     BOOLEAN004 = 0
  371.     STRING007 = ""
  372.     Print " "
  373.     TSTRING001(0, 0) = GetX() - 1
  374.     Print TSTRING003(29) + TSTRING001(BOOLEAN003, 1)
  375.     TSTRING001(1, 0) = GetX() - 1
  376.     Print TSTRING003(29) + TSTRING001(!BOOLEAN003, 1)
  377.     Print Chr(13)
  378.     Forward TSTRING001(BOOLEAN003, 0)
  379.     Print TSTRING003(30) + TSTRING001(BOOLEAN003, 1)
  380.     Print Chr(13)
  381.     Forward TSTRING001(BOOLEAN003, 0)
  382.     :LABEL020
  383.     If (BOOLEAN004) Goto LABEL021
  384.     STRING007 = Upper(Left(Inkey(), 1))
  385.     Select Case (STRING007)
  386.         Case YesChar()
  387.             If (!BOOLEAN003) STRING007 = "U"
  388.             BOOLEAN004 = 1
  389.         Case NoChar()
  390.             If (BOOLEAN003) STRING007 = "U"
  391.             BOOLEAN004 = 1
  392.         Case Chr(13)
  393.             BOOLEAN004 = 1
  394.     End Select
  395.     If (InStr("ULADRZ", STRING007) > 0) Then
  396.         Print Chr(13)
  397.         Forward TSTRING001(BOOLEAN003, 0)
  398.         Print TSTRING003(29) + TSTRING001(BOOLEAN003, 1)
  399.         BOOLEAN003 = !BOOLEAN003
  400.         Print Chr(13)
  401.         Forward TSTRING001(BOOLEAN003, 0)
  402.         Print TSTRING003(30) + TSTRING001(BOOLEAN003, 1)
  403.         Print Chr(13)
  404.         Forward TSTRING001(BOOLEAN003, 0)
  405.     Endif
  406.     Goto LABEL020
  407.     :LABEL021
  408.     Color DefColor()
  409.     Return
  410.     If (0) Then
  411.         Brag
  412.         FFlush 1
  413.         FReAltUser
  414.         MouseReg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
  415.         Redim TINTEGER012, 2
  416.         Sort TINTEGER012, TINTEGER012
  417.         Print FlagCnt()
  418.         Print HiMsgNum()
  419.         Print KbdBufSize()
  420.         Print KbdFilUsed()
  421.         Print LoMsgNum()
  422.         Print PPLBufSize()
  423.     Endif
  424.  
  425. ;------------------------------------------------------------------------------
  426. ;
  427. ; Usage report (before postprocessing)
  428. ;
  429. ; ■ Statements used :
  430. ;
  431. ;    2       End
  432. ;    1       Cls
  433. ;    7       Wait
  434. ;    2       Color 
  435. ;    96      Goto 
  436. ;    102     Let 
  437. ;    24      Print 
  438. ;    5       PrintLn 
  439. ;    80      If 
  440. ;    14      DispFile 
  441. ;    6       FCreate 
  442. ;    3       FOpen 
  443. ;    1       FAppend 
  444. ;    10      FClose 
  445. ;    4       FGet 
  446. ;    22      FPutLn 
  447. ;    1       StartDisp 
  448. ;    1       GetUser
  449. ;    1       Log 
  450. ;    4       Gosub 
  451. ;    2       Return
  452. ;    2       Delay 
  453. ;    7       Inc 
  454. ;    4       Dec 
  455. ;    1       Newline
  456. ;    1       Newlines 
  457. ;    1       Broadcast 
  458. ;    1       DispStr 
  459. ;    1       RdUNet 
  460. ;    5       Forward 
  461. ;    5       FreshLine
  462. ;    1       FFlush 
  463. ;    1       Redim 
  464. ;    1       Sort 
  465. ;    1       MouseReg 
  466. ;    1       Brag
  467. ;    1       FReAltUser
  468. ;
  469. ;
  470. ; ■ Functions used :
  471. ;
  472. ;    1       *
  473. ;    2       /
  474. ;    2       %
  475. ;    99      +
  476. ;    10      -
  477. ;    24      ==
  478. ;    8       <>
  479. ;    15      <
  480. ;    10      <=
  481. ;    10      >
  482. ;    23      >=
  483. ;    62      !
  484. ;    24      &&
  485. ;    11      ||
  486. ;    13      Len(
  487. ;    9       Lower()
  488. ;    1       Upper()
  489. ;    6       Mid()
  490. ;    15      Left()
  491. ;    8       Right()
  492. ;    2       Ferr()
  493. ;    12      Chr()
  494. ;    2       Asc()
  495. ;    3       InStr()
  496. ;    5       Random()
  497. ;    5       Time()
  498. ;    5       U_Name()
  499. ;    1       U_Ful()
  500. ;    1       U_Fdl()
  501. ;    2       U_Bdl()
  502. ;    2       U_Bul()
  503. ;    2       TimeAp()
  504. ;    1       NoChar()
  505. ;    1       YesChar()
  506. ;    5       StripAtx()
  507. ;    2       Inkey()
  508. ;    7       String()
  509. ;    2       PCBDat()
  510. ;    34      PPEPath()
  511. ;    1       U_MsgRd()
  512. ;    1       U_MsgWr()
  513. ;    4       PcbNode()
  514. ;    2       ReadLine()
  515. ;    1       SysopSec()
  516. ;    2       OnLocal()
  517. ;    1       UN_Stat()
  518. ;    2       CurSec()
  519. ;    11      Exist()
  520. ;    1       Carrier()
  521. ;    2       GetX()
  522. ;    5       U_Stat()
  523. ;    1       DefColor()
  524. ;    1       Psa()
  525. ;    1       CurColor()
  526. ;    9       ReplaceStr()
  527. ;    2       ToInteger()
  528. ;    2       Mixed()
  529. ;    1       FlagCnt()
  530. ;    1       KbdBufSize()
  531. ;    1       PPLBufSize()
  532. ;    1       KbdFilUsed()
  533. ;    1       LoMsgNum()
  534. ;    1       HiMsgNum()
  535. ;
  536. ;------------------------------------------------------------------------------
  537. ;
  538. ; Analysis flags : ds
  539. ;
  540. ; d - Access PCBOARD.DAT ■ 2
  541. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  542. ;     for many PPE so they can find various informations on the system
  543. ;     (system paths, max number of lines in messages, ...) but it may also
  544. ;     be a way to gather vital informations.
  545. ;     ■ Search for : PCBDAT()
  546. ;
  547. ; s - Sysop level access ■ 5
  548. ;     Program is reading the sysop access level, this may be normal
  549. ;     but still it is very suspect. It is the best way to give a user
  550. ;     all priviledges. Check!
  551. ;     ■ Search for : SYSOPSEC()
  552. ;
  553. ;------------------------------------------------------------------------------
  554. ;
  555. ; Postprocessing report
  556. ;
  557. ;    10      For/Next
  558. ;    1       While/EndWhile
  559. ;    35      If/Then or If/Then/Else
  560. ;    1       Select Case
  561. ;
  562. ;------------------------------------------------------------------------------
  563. ;                 AEGiS Corp - Break the routines, code against the machines!
  564. ;------------------------------------------------------------------------------
  565.